#define _CRT_SECURE_NO_WARNINGS 1

#include<stdio.h>
#include<stdlib.h>

//double findMaxAverage(int* nums, int numsSize, int k) {
//    double max = 0, ave = 0,total = 0;
//    int i = 0;
//    for (i = 0; i < k; i++)
//    {
//        total += nums[i];
//    }
//    ave = total / k;
//    max = ave;
//    for (; i < numsSize; i++)
//    {
//        total -= nums[i - k];
//        total += nums[i];
//        ave = total / k;
//        if (ave > max)
//        {
//            max = ave;
//        }
//    }
//    return max;
//}
//
//int main()
//{
//    int num[] = { 0,1,1,3,3 };
//    int sz = sizeof(num) / sizeof(num[0]);
//    printf("%lf ",findMaxAverage(num, sz, 4));
//    return 0;
//}


//int main()
//{
//	int ans[10] = { 0 };
//	int M, N;
//	scanf("%d%d", &M, &N);
//	for (int i = M; i <= N; i++)
//	{
//		int n = i;
//		while (n)
//		{
//			ans[n % 10]++;
//			n /= 10;
//		}
//	}
//	for (int i = 0; i < 10; i++)
//	{
//		printf("%d ", ans[i]);
//	}
//	return 0;
//}

int main()
{
	int n, count = 0;
	scanf("%d", &n);
	int* arr = (int*)malloc(sizeof(int) * n);
	for (int i = 0; i < n; i++)
	{
		scanf("%d", &arr[i]);
	}
	for (int i = 1; i < n - 1; i++)
	{
		if (arr[i - 1] >= arr[i])
		{
			if (arr[i] < arr[i + 1])
			{
				count++;
			}
		}
	}
	printf("%d ", count);
	return 0;
}